local bagType={Equip=1,Item=2,Gem=3}--1装备 2道具 3宝石

BagPanel={}
BasePanel:SubClass("BagPanel")

--自身属性
BagPanel.name="BagPanel"
BagPanel.bagType=nil;
BagPanel.items={}--当前显示的格子
--额外子控件成员
BagPanel.content=nil--背包格子容器 transform


--方法
function BagPanel:Init()
    if IsNull(self.panelObj) then
        self.base.Init(self)
        self.content=self.panelObj.transform:Find("Bag"):Find("Viewport"):Find("Content")
        
        --为控件加逻辑
        self:GetControl('btnClose','Button').onClick:AddListener(function ()
            self:Hide()
        end)
        self:GetControl('togEquip','Toggle').onValueChanged:AddListener(function (value)
            if(value) then
                self:ChangeType(bagType.Equip)
            end
        end)
        self:GetControl('togItem','Toggle').onValueChanged:AddListener(function (value)
            if(value) then
                self:ChangeType(bagType.Item)
            end

        end)
        self:GetControl('togGem','Toggle').onValueChanged:AddListener(function (value)
            if(value) then
                self:ChangeType(bagType.Gem)
            end
        end)

    end
end


function BagPanel:Show()
    self.base.Show(self)
    self:ChangeType(bagType.Equip)
end


function BagPanel:ChangeType(type)
    --当前背包状态与要切换的状态不同时 才会切换
    if self.bagType==type then
        return;
    end
    self.bagType=type
    --把老的格子删掉
    for i = 1, #self.items do
        self.items[i]:Destroy()
    end
    self.items={}
    --根据新格子创建
    local nowItem=PlayerData.bag[type]
    for i = 1, #nowItem do
        local grid=ItemGrid:New()
        grid:Init(self,(i-1)%4*126,-math.floor((i-1)/4)*126)
        grid:InitData(nowItem[i])
        table.insert(self.items,grid)
    end    
end